home *** CD-ROM | disk | FTP | other *** search
Wrap
mmmmlllldddd((((3333)))) mmmmlllldddd((((3333)))) NNNNAAAAMMMMEEEE mld_create, mld_destroy, process_mldlink, process_cpulink, numa_acreate - memory locality domain operations SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ttttyyyyppppeeeessss....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ppppmmmmoooo....hhhh>>>> ppppmmmmoooo____hhhhaaaannnnddddlllleeee____tttt mmmmlllldddd____ccccrrrreeeeaaaatttteeee((((iiiinnnntttt rrrraaaaddddiiiiuuuussss,,,, lllloooonnnngggg ssssiiiizzzzeeee)))) iiiinnnntttt mmmmlllldddd____ddddeeeessssttttrrrrooooyyyy((((ppppmmmmoooo____hhhhaaaannnnddddlllleeee____tttt mmmmlllldddd____hhhhaaaannnnddddlllleeee)))) iiiinnnntttt pppprrrroooocccceeeessssssss____mmmmllllddddlllliiiinnnnkkkk((((ppppiiiidddd____tttt ppppiiiidddd,,,, ppppmmmmoooo____hhhhaaaannnnddddlllleeee____tttt mmmmlllldddd____hhhhaaaannnnddddlllleeee,,,, rrrrqqqqmmmmooooddddeeee____tttt rrrrqqqqmmmmooooddddeeee)))) iiiinnnntttt pppprrrroooocccceeeessssssss____ccccppppuuuulllliiiinnnnkkkk((((ppppiiiidddd____tttt ppppiiiidddd,,,, ppppmmmmoooo____hhhhaaaannnnddddlllleeee____tttt mmmmlllldddd____hhhhaaaannnnddddlllleeee,,,, ccccppppuuuuiiiidddd____tttt llllccccppppuuuuiiiidddd,,,, rrrrqqqqmmmmooooddddeeee____tttt rrrrqqqqmmmmooooddddeeee)))) vvvvooooiiiidddd**** nnnnuuuummmmaaaa____aaaaccccrrrreeeeaaaatttteeee((((ppppmmmmoooo____hhhhaaaannnnddddlllleeee____tttt mmmmlllldddd,,,, ssssiiiizzzzeeee____tttt aaaarrrreeeennnnaaaa____ssssiiiizzzzeeee,,,, ssssiiiizzzzeeee____tttt ppppaaaaggggeeee____ssssiiiizzzzeeee)))) DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN _mmmm_llll_dddd______cccc_rrrr_eeee_aaaa_tttt_eeee creates a memory locality domain. The argument _r_a_d_i_u_s is not currently used and is normally zero. The argument _s_i_z_e is a hint specifying approximately how much physical memory in bytes will be required for this MLD. If this argument is set to MMMMLLLLDDDD____DDDDEEEEFFFFAAAAUUUULLLLTTTTSSSSIIIIZZZZEEEE then at the time of mld placement the kernel will make an estimate of the memory to be used based on the current total address space in use by the process and the number of mlds. _mmmm_llll_dddd______dddd_eeee_ssss_tttt_rrrr_oooo_yyyy destroys a memory locality domain. _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______mmmm_llll_dddd_llll_iiii_nnnn_kkkk attaches a process to an MLD. When a process is attached to an MLD, the process scheduler tries to activate the process on a CPU in the node where the MLD has been placed. _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______cccc_pppp_uuuu_llll_iiii_nnnn_kkkk attaches a process to a specific CPU within the node that the MLD is placed on. The CPU number is relative to the node, for example on an Origin 3000 with a fully populated node the CPU numbering is 0-3. On an Origin 2000 with a fully populated node, the CPU numbering is 0-1. If a CPU is disabled on that node, then the CPU numbering is re-ordered at boot time to always count up consecutively from 0. For example if an Origin 3000 had a node with only 3 CPUs, the CPU numbering regardless of which CPU is disabled would be 0,1,2. This operation forces a process to always run on the same CPU using `MP_MUSTRUN' (see sysmp(2)). _nnnn_uuuu_mmmm_aaaa______aaaa_cccc_rrrr_eeee_aaaa_tttt_eeee creates an arena for memory allocation on a specific MLD. _mmmm_llll_dddd______cccc_rrrr_eeee_aaaa_tttt_eeee will fail and a MLD will not be created if one or more of the following are true: _EEEE_FFFF_AAAA_UUUU_LLLL_TTTT Arguments could not be copied into kernel space. PPPPaaaaggggeeee 1111 mmmmlllldddd((((3333)))) mmmmlllldddd((((3333)))) _EEEE_NNNN_OOOO_MMMM_EEEE_MMMM No memory or kernel table space is available to create and hold the MLD. _EEEE_NNNN_OOOO_TTTT_SSSS_UUUU_PPPP Memory locality domains are not supported on this system architecture. _mmmm_llll_dddd______dddd_eeee_ssss_tttt_rrrr_oooo_yyyy will fail and no MLD will be destroyed if one or more of the following are true: _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The _mmmm_llll_dddd______hhhh_aaaa_nnnn_dddd_llll_eeee is invalid. _EEEE_NNNN_OOOO_TTTT_SSSS_UUUU_PPPP Memory locality domains are not supported on this system architecture. _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______mmmm_llll_dddd_llll_iiii_nnnn_kkkk will fail and the process will not be attached to an MLD if one or more of the following are true: _EEEE_DDDD_EEEE_AAAA_DDDD_LLLL_KKKK The operation would cause a deadlock to occur. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The _mmmm_llll_dddd______hhhh_aaaa_nnnn_dddd_llll_eeee is invalid or does not exist. _EEEE_NNNN_OOOO_TTTT_SSSS_UUUU_PPPP Memory locality domains are not supported on this system architecture. _EEEE_SSSS_RRRR_CCCC_HHHH The specified _pppp_iiii_dddd does not exist. _EEEE_XXXX_DDDD_EEEE_VVVV The MLD has not been placed. (Call _mmmm_llll_dddd_ssss_eeee_tttt______pppp_llll_aaaa_cccc_eeee_((((_3333_cccc_)))) first.) _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______cccc_pppp_uuuu_llll_iiii_nnnn_kkkk will fail and the process will not be attached to an MLD if one or more of the following are true: _EEEE_DDDD_EEEE_AAAA_DDDD_LLLL_KKKK The operation would cause a deadlock to occur. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The specified mld_handle is invalid or does not exist. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The cpulink is attempted on a CPU which was not present. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The pid is part of a Pthreaded application, which is not supported by MP_MUSTRUN. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The process is already resides on a 'mustrun' CPU and is not allowed to move to another CPU. _EEEE_NNNN_OOOO_TTTT_SSSS_UUUU_PPPP Memory locality domains are not supported on this system architecture. _EEEE_PPPP_EEEE_RRRR_MMMM The user does not have adequate permission to execute the sysmp(2) system call MP_MUSTRUN command. PPPPaaaaggggeeee 2222 mmmmlllldddd((((3333)))) mmmmlllldddd((((3333)))) _EEEE_PPPP_EEEE_RRRR_MMMM The cpuset does not allow the process to run on the selected MLD and CPU. _EEEE_SSSS_RRRR_CCCC_HHHH The specified _pppp_iiii_dddd does not exist. _EEEE_XXXX_DDDD_EEEE_VVVV The MLD has not been placed. (Call _mmmm_llll_dddd_ssss_eeee_tttt______pppp_llll_aaaa_cccc_eeee_((((_3333_cccc_)))) first.) _nnnn_uuuu_mmmm_aaaa______aaaa_cccc_rrrr_eeee_aaaa_tttt_eeee will fail and no memory arena will be created (and set _eeee_rrrr_rrrr_nnnn_oooo) under the same circumstances that _aaaa_cccc_rrrr_eeee_aaaa_tttt_eeee_((((_2222_)))) will fail. It will also fail and no memory arena will be created if one or more of the following are true: _EEEE_FFFF_AAAA_UUUU_LLLL_TTTT Arguments could not be copied into kernel space. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The specified MLD is invalid. _EEEE_NNNN_OOOO_TTTT_SSSS_UUUU_PPPP Memory locality domains are not supported on this system architecture. _EEEE_SSSS_RRRR_CCCC_HHHH The specified MLD does not exist. SSSSEEEEEEEE AAAALLLLSSSSOOOO acreate(2), numa(5), mmci(5), mldset(3c), pm(3c), amalloc(3p), sysmp(2), migration(3c), pminfo(3c). DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS Upon successful completion, _mmmm_llll_dddd______cccc_rrrr_eeee_aaaa_tttt_eeee returns a value of type pmo_handle_t. Otherwise, a value of -1 is returned and _e_r_r_n_o is set to indicate the error. Upon successful completion, _mmmm_llll_dddd______dddd_eeee_ssss_tttt_rrrr_oooo_yyyy, _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______mmmm_llll_dddd_llll_iiii_nnnn_kkkk, and _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______cccc_pppp_uuuu_llll_iiii_nnnn_kkkk return 0. Otherwise, a value of -1 is returned and _e_r_r_n_o is set to indicate the error. Upon successful completion, _nnnn_uuuu_mmmm_aaaa______aaaa_cccc_rrrr_eeee_aaaa_tttt_eeee returns a pointer to the memory arena which has been created. Otherwise NULL will be returned and _e_r_r_n_o is set to indicate the error. PPPPaaaaggggeeee 3333